home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / comm / misc / DragonDaemon.lha / DragonDaemon-Install / Install < prev    next >
Encoding:
Text File  |  1999-07-10  |  18.9 KB  |  616 lines

  1.  
  2. ; *****************************************
  3. ; *                                       *
  4. ; *  DragonDaemon-Installationsskript     *
  5. ; *                                       *
  6. ; *  $VER: 1.2 (10.07.99) by J.Reinert    *
  7. ; *                                       *
  8. ; *****************************************
  9.  
  10.  
  11. ; *************************************************************************
  12. ; Definition der globalen Konstanten
  13. ; *************************************************************************
  14.  
  15. (set #liesmichtext     "Lies_mich.TXT")       ; Schlusswort
  16. (set #aiconname        "DragonDaemonStart")   ; Name Autostart-Icon
  17. (set #aiconsource      "daemon.noinfo")       ; Quellname Autostart-Icon
  18. (set #aicondest        "SYS:WBStartup")       ; Ziel für Autostart-Icon
  19. (set #doksource        "Docs")                ; Anleitungen
  20. (set #developersource  "Entwickler")          ; Entwickler-Infos
  21. (set #progssource      "Programme")           ; Programme
  22. (set #admmakrosrc      "ADM")                 ; Schublade mit ADM-Makros
  23. (set #dfamakrosrc      "DFA/DragonDial.dfa")  ; Name des DFA-Makros
  24.  
  25. ; *************************************************************************
  26. ; Definition der deutschen Texte
  27. ; *************************************************************************
  28.  
  29. (set #askprgdirmsg "Bitte wählen Sie die 'DragonTools'-Schublade aus.")
  30.  
  31. (set #askprgdirhelp
  32.   (cat "Es ist sehr wichtig, dass Sie die Schublade auswählen, in der "
  33.        "sich das konfigurierte Programm 'DragonTools' befindet. "
  34.        "DragonDaemon verwendet die selbe Prefs-Datei wie DargonTools.\n\n"
  35.        "Falls Sie eine ältere Version per Autostart-Icon starten ließen, "
  36.        "wird der Pfad vermutlich schon stimmen"
  37.   )
  38. )
  39.  
  40. (set #askadmmakros
  41.   (cat "Adress-Datenbank \"ADM\"\n"
  42.        "----------------------\n\n"
  43.        "Wenn Sie Ihre Adressen und Telefonnummern mit dem "
  44.        "Programm 'ADM' verwalten, können Sie jetzt zwei ARexx-Makros "
  45.        "installieren, welche Ihnen als Wahlhilfe dienen können. Das "
  46.        "Kleinere der beiden ist sehr einfach gehalten. Das zweite Makro "
  47.        "basiert auf dem Ersten und wurde von Volker Weber leicht erweitert.\n\n"
  48.        "Möchten Sie die Makros installieren?"
  49.   )
  50. )
  51.  
  52. (set #askadmdialdirmsg
  53.   (cat "in welche Schublade soll das Makro kopiert werden? (Es "
  54.        "wird KEINE neue Schublade angelegt!)"
  55.   )
  56. )
  57.  
  58. (set #askadmdialdirhelp
  59.   (cat "Wählen Sie am besten die 'ARexx'-Schublade von ADM oder "
  60.        "eines der dort enthaltenen Unterverzeichnisse. Um das "
  61.        "Makro nutzen zu können, müssen Sie es in ADM später noch "
  62.        "in das 'Makros'-Menü eintragen."
  63.   )
  64. )
  65.  
  66. (set #askdfamakros
  67.   (cat "Adress-Datenbank \"DFA\"\n"
  68.        "----------------------\n\n"
  69.   
  70.        "Wenn Sie Ihre Adressen und Telefonnummern mit dem "
  71.        "Programm 'DFA' verwalten, können Sie jetzt ein ARexx-Makro "
  72.        "installieren, welches Ihnen als Wahlhilfe dienen kann.\n\n"
  73.        "Möchten Sie das Makro installieren?"
  74.   )
  75. )
  76.  
  77. (set #askdfadialdirmsg
  78.   (cat "in welche Schublade soll das Makro kopiert werden? (Es "
  79.        "wird KEINE neue Schublade angelegt!)"
  80.   )
  81. )
  82.  
  83. (set #askdfadialdirhelp
  84.   (cat "Wählen Sie am besten die Schublade von DFA, in der "
  85.        "sich auch andere ARexx-Makros befinden"
  86.   )
  87. )
  88.  
  89. (set #askdeveloper
  90.   (cat "Wenn Sie Applikationen für DragonDaemon programmieren möchten, "
  91.        "können Sie die dafür notwendigen Informationen umkopieren. Für "
  92.        "ARexx- und Blitz- und C-Programmierer sind Beispiele enthalten\n\n"
  93.        "Möchten Sie die Entwicklerinfos installieren?"
  94.   )
  95. )
  96.  
  97. (set #askdeveloperdirmsg "Wo soll die Entwickler-Schublade angelegt werden?")
  98.  
  99. (set #askdeveloperdirhelp
  100.   (cat "Die Entwicklerinfos beinhalten Informationen zu ARexx-Port "
  101.        "und Exec-Messageport sowie Beispiele in ARexx, BlitzBASIC und C. "
  102.   )
  103. )
  104.  
  105. (set #error_dtinstall1
  106.   (cat "\nAnscheinend haben Sie die falsche Schublade ausgewählt. "
  107.        "Starten Sie die Installation daher erneut.\n\n"
  108.        "Falls Sie 'DragonTools' noch nicht installiert haben, sollten Sie "
  109.        "dies jetzt nachholen"
  110.   )
  111. )
  112.  
  113. (set #error_dtinstall2
  114.   (cat "\nAnscheinend haben Sie das Programm 'DragonTools' noch "
  115.        "nicht konfiguriert (Prefs-Datei fehlt).\n\n"
  116.        "Starten Sie bitte erst DragonTools, setzen Sie die "
  117.        "Programmeinstellungen und speichern Sie diese. Danach "
  118.        "können Sie diese Installation erneut starten."
  119.   )
  120. )
  121.  
  122. (set #helpwbstartup
  123.   (cat "Da Sie ein Autostart-Icon installiert haben, ist es nicht "
  124.        "notwendig, daß Sie das Programm 'DragonDaemon' in der 'WBStartup' - Schublade "
  125.        "belassen. Entfernen Sie es bitte."
  126.   )
  127. )
  128.  
  129. (set #askwbstartup
  130.   (cat "Möchten Sie, daß 'DragonDaemon' bei jedem Rechnerstart "
  131.        "automatisch aktiviert wird ? \n\n"
  132.        "Wenn ja, wird im nächsten Schritt ein Projekt-Icon "
  133.        "in den \"WBStartup\"-Ordner Ihrer Boot-Disk kopiert\n\n"
  134.        "Wenn nein, bleibt ein eventuell vorhandenes Start-Icon erhalten."
  135.   )
  136. )
  137.  
  138. (set #aiconfail1
  139.   (cat "Es existiert keine 'WBStartup'-Schublade auf Ihrer SYS- "
  140.        "Partition. Wenn Sie 'DragonDaemon' bei jedem Rechnerstart "
  141.        "automatisch in Ihren Rechner laden möchten, wird diese unbedingt "
  142.        "benötigt.\n\nSoll eine Schublade erzeugt werden?"
  143.   )
  144. )
  145.  
  146. (set #aiconfail2
  147.   (cat "Leider existiert keine 'WBStartup'-Schublade auf Ihrer SYS- "
  148.        "Partition. Automatischer Programmstart ist daher leider nicht möglich."
  149.   )
  150. )
  151.  
  152. (set #askuserstartup
  153.   (cat "Wenn Sie die Programme 'Dial' und 'ShowCounter' auch in "
  154.        "einem Shellfenster starten möchten, können Sie jetzt einen "
  155.        "Suchpfad zu den Programmen eintragen lassen. Dazu wird Ihre "
  156.        "'User-Startup' verändert.\n\n"
  157.        "Soll die User-Startup geändert werden?"
  158.   )
  159.  
  160. (set #askenv
  161.   (cat "Wenn Sie für das Programm 'Dial' im Shell-Modus einen bevorzugten Port "
  162.        "(a/b-Anschluss der DataBox) verwenden möchten, können Sie "
  163.        "dies durch setzen der ENV-Variable 'DEFDIALPORT' auf die "
  164.        "entsprechende Port-Nummer (1 bis 3) erreichen\n\n"
  165.        "Möchten Sie jetzt schon einen bevorzugten Port für "
  166.        "das Programm 'Dial' angeben?"
  167.   )
  168.  
  169. (set #helpenv
  170.   (cat "Mit dem Programm 'Dial' wird das Wählmodul von DragonDaemon "
  171.        "aktiviert. Von Workbench gestartet, können Telefonnummer und "
  172.        "Port über Tooltypes übergeben werden. Wenn Sie es in einem "
  173.        "Shellfenster starten und immer ein bestimmtes Telefon nutzen, "
  174.        "sollten Sie den zugehörigen Port der DataBox als Vorgabe "
  175.        "setzen. Sie ersparen sich damit die Angabe bzw. die Auswahl "
  176.        "eines Ports"
  177.   )
  178.  
  179. (set #nodaemon
  180.   (cat "Aus irgend einem Grund wurde das Programm \"DragonDaemon\" nicht "
  181.        "umkopiert. Wiederholen Sie bitte den Installationsvorgang"
  182.   )
  183. )
  184.  
  185. ; *************************************************************************
  186. ; Beginn der Installation
  187. ; *************************************************************************
  188.  
  189. (complete 0)
  190.  
  191. (welcome)
  192.  
  193. ; *************************************************************************
  194. ; DragonTools-Pfad ermitteln, falls Icon in SYS:WBStart vorhanden ist
  195. ; *************************************************************************
  196.  
  197. (if (exists (tackon #aicondest "DragonDaemonStart.info"))
  198.   (
  199.     (iconinfo (dest (tackon #aicondest "DragonDaemonStart"))
  200.               (getdefaulttool "testdir")
  201.     )
  202.     (set @default-dest (pathonly testdir))
  203.   )
  204. )
  205.  
  206. ; *************************************************************************
  207. ; Zielverzeichnis auswählen lassen
  208. ; *************************************************************************
  209.  
  210. (set #destname
  211.   (askdir
  212.     (prompt  #askprgdirmsg)
  213.     (help    #askprgdirhelp)
  214.     (default @default-dest)
  215.   )
  216. )
  217.  
  218. (if (= #destname "")
  219.   (
  220.     (abort "Fehler bei Auswahl!")
  221.   )
  222. )
  223.  
  224. (set #icon_toolentry (tackon #destname "DragonDaemon"))
  225. (set #dokdest (tackon #destname "Docs"))
  226.  
  227. ; *************************************************************************
  228. ; DragonTools-Installation prüfen
  229. ; *************************************************************************
  230.  
  231. (if (exists (tackon #destname "DragonTools.wizard") (noreq))
  232.   (
  233.     (if (not (exists (tackon #destname "DragonTools.Prefs") (noreq)))
  234.       (abort #error_dtinstall2)
  235.     )
  236.   )
  237.   (
  238.     (abort #error_dtinstall1)
  239.   )
  240. )
  241.  
  242. (complete 5)
  243.  
  244. ; *************************************************************************
  245. ; Icon-Typ auswählen
  246. ; *************************************************************************
  247.  
  248. (set #icontyp
  249.   (askchoice (prompt "Wählen Sie einen Icon-Typ aus")
  250.              (help "")
  251.              (choices "Standard" "MagicWB")
  252.   )
  253. )
  254. (if (= #icontyp 0)
  255.   (
  256.     (set #iconsource #progssource)
  257.   )
  258.   (
  259.     (set #iconsource "MWBIcons")
  260.   )
  261. )
  262. (complete 10)
  263.  
  264.  
  265. ; *************************************************************************
  266. ; Falls vorhanden, alten DragonDaemon beenden
  267. ; *************************************************************************
  268.  
  269. (if (exists "ExitDaemon")
  270.   (
  271.     (run "ExitDaemon")
  272.     (if (exists "RAM:OldDaemon_Removed")
  273.       (
  274.         (message "Ihre aktive Version von DragonDaemon wurde soeben aus dem Speicher entfernt. Nach erfolgreicher Installation müssen Sie \"DragonDaemon\" neu starten.")
  275.         (delete "RAM:OldDaemon_Removed")
  276.       )
  277.     )
  278.   )
  279.   (
  280.     (message "Eine eventuell aktive Version von DragonDaemon müssen Sie zuerst beenden, bevor Sie weitermachen! Benutzen Sie dazu das Programm \"Exchange\" der Workbench.")
  281.   )
  282. )
  283.  
  284. ; *************************************************************************
  285. ; Kopieren der Programme
  286. ; *************************************************************************
  287.  
  288. (if (exists #progssource (noreq))
  289.   (
  290.     (copyfiles (prompt "Programme kopieren")
  291.                (source #progssource)
  292.                (dest #destname) 
  293.                (help "")
  294.                (pattern "~(#?.info)")
  295.                (confirm "EXPERT")
  296.     )
  297.   )
  298. )
  299. (complete 40)
  300.  
  301. ; *************************************************************************
  302. ; Kopieren des Programmes AppMenuDial
  303. ; *************************************************************************
  304.  
  305. (if (exists "SYS:WBStartup/AppMenuDial")
  306.   (
  307.     (copyfiles (prompt "AppMenuDial in WBStartup kopieren")
  308.                (source "Programme/AppMenuDial")
  309.                (dest "SYS:WBStartup")
  310.                (help "")
  311.                (confirm "EXPERT")
  312.     )
  313.   )
  314. )
  315.  
  316. (complete 45)
  317.  
  318. ; *************************************************************************
  319. ; Kopieren der Daten, sofern sie nicht existieren
  320. ; *************************************************************************
  321.  
  322. (if (not(exists (tackon #destname "PhoneList.TXT") (noreq)))
  323.   (
  324.     (copyfiles (prompt "Telefonliste kopieren")
  325.                (source "Daten/Phonelist.TXT")
  326.                (dest #destname)
  327.                (help "")
  328.                (confirm "EXPERT")
  329.     )
  330.   )
  331. )
  332.  
  333. (complete 47)
  334.  
  335. (if (not(exists (tackon #destname "Provider.DAT") (noreq)))
  336.   (
  337.     (copyfiles (prompt "Providerliste kopieren")
  338.                (source "Daten/Provider.DAT")
  339.                (dest #destname)
  340.                (help "")
  341.                (confirm "EXPERT")
  342.     )
  343.   )
  344. )
  345.  
  346.  
  347.  
  348. (complete 50)
  349.  
  350. ; *************************************************************************
  351. ; Kopieren der Anleitungen
  352. ; *************************************************************************
  353.  
  354. (if (exists #doksource)
  355.   (
  356.     (copyfiles (prompt "Anleitungen kopieren")
  357.                (source #doksource)
  358.                (dest #dokdest) 
  359.                (infos)
  360.                (help "")
  361.                (all)
  362.                (confirm "EXPERT")
  363.     )
  364.   )
  365. )
  366. (complete 55)
  367.  
  368. ; *************************************************************************
  369. ; Installieren des Autostart-Icons
  370. ; *************************************************************************
  371.  
  372. (if (exists #aiconsource)
  373.   (
  374.    (if (not (exists #aicondest))
  375.     (if (askbool (prompt #aiconfail1) (help "") (default 0) (choices "Ja" "Nein"))
  376.       (makedir #aicondest (infos))
  377.     )
  378.    )
  379.    (if (exists #aicondest)
  380.     (
  381.       (if (exists #icon_toolentry)
  382.         (
  383.           (if ((askbool (prompt #askwbstartup) (help "") (default 0) (choices "Ja" "Nein")))
  384.             (
  385.               (copyfiles (prompt  "Icon kopieren") (source  #aiconsource) (dest    #aicondest) (newname (cat #aiconname ".info")))
  386.  
  387. ; *************************************************************************
  388. ; Default-Tool und Tooltypes (Zukunft) eintragen
  389. ; *************************************************************************
  390.  
  391.               (set #newaiconname (tackon #aicondest #aiconname))
  392.  
  393.               (if (exists (cat #newaiconname ".info"))
  394.                 (
  395.                   (Tooltype (dest #newaiconname) (Setdefaulttool #icon_toolentry))
  396.                   (if (exists "SYS:WBStartup/DragonDaemon")
  397.                     (message #helpwbstartup)
  398.                   )
  399.                 )
  400.               )
  401.             )
  402.           )
  403.         )
  404.       )
  405.     )
  406.     (
  407.       (message #aiconfail2)
  408.     )
  409.    )
  410.   )
  411. )
  412. (complete 60)
  413.  
  414. ; *************************************************************************
  415. ; ADM-Wahlhilfe installieren
  416. ; *************************************************************************
  417.  
  418. (if (exists #admmakrosrc)
  419.   (
  420.     (if (askbool (prompt #askadmmakros) (help "") (default 0) (choices "Ja" "Nein"))
  421.       (
  422.         (set makrodir (askdir (prompt  #askadmdialdirmsg)
  423.                               (help    #askadmdialdirhelp)
  424.                               (default @default-dest)
  425.                       )
  426.         )
  427.         (if (<> makrodir "")
  428.           (
  429.             (copyfiles (prompt "ADM-Makros kopieren")
  430.                        (source #admmakrosrc)
  431.                        (dest makrodir)
  432.                        (pattern "#?.adm")
  433.                        (help "")
  434.                        (confirm "EXPERT")
  435.             )
  436.           )
  437.         )
  438.       )
  439.     )
  440.   )
  441. )
  442.  
  443. (complete 65)
  444.  
  445. ; *************************************************************************
  446. ; DFA-Wahlhilfe installieren
  447. ; *************************************************************************
  448.  
  449. (if (exists #dfamakrosrc)
  450.   (
  451.     (if (askbool (prompt #askdfamakros) (help "") (default 0) (choices "Ja" "Nein"))
  452.       (
  453.         (set makrodir (askdir (prompt  #askdfadialdirmsg)
  454.                               (help    #askdfadialdirhelp)
  455.                               (default @default-dest)
  456.                       )
  457.         )
  458.         (if (<> makrodir "")
  459.           (
  460.             (copyfiles (prompt "DFA-Makro kopieren")
  461.                        (source #dfamakrosrc)
  462.                        (dest makrodir)
  463.                        (help "")
  464.                        (confirm "EXPERT")
  465.             )
  466.             (copyfiles (prompt "Anleitung zum DFA-Makro")
  467.                        (source "DFA/DragonDial.readme")
  468.                        (dest #dokdest)
  469.                        (newname "DFA-DragonDial.TXT")
  470.                        (help "")
  471.                        (infos)
  472.                        (confirm "EXPERT")
  473.  
  474.             )
  475.           )
  476.         )
  477.       )
  478.     )
  479.   )
  480. )
  481.  
  482. (complete 70)
  483.  
  484. ; *************************************************************************
  485. ; Entwicklerinformationen kopieren
  486. ; *************************************************************************
  487.  
  488. (if (exists #developersource)
  489.   (
  490.     (if (askbool (prompt #askdeveloper) (help "") (default 0) (choices "Ja" "Nein"))
  491.       (
  492.         (set developerpath (askdir (prompt  #askdeveloperdirmsg)
  493.                                    (help    #askdeveloperdirhelp)
  494.                                    (default @default-dest)
  495.                       )
  496.         )
  497.         (if (<> developerpath "")
  498.           (
  499.             
  500.             (set developerdir (tackon developerpath "DD-Entwickler"))
  501.             (makedir developerdir (infos))
  502.             (copyfiles (prompt "Entwicklerinfos kopieren")
  503.                        (source #developersource)
  504.                        (dest developerdir)
  505.                        (infos)
  506.                        (all)
  507.                        (help "")
  508.                        (confirm "EXPERT")
  509.             )
  510.           )
  511.         )
  512.       )
  513.     )
  514.   )
  515. )
  516.  
  517. (complete 80)
  518.  
  519. ; *************************************************************************
  520. ; Kopieren der Icons
  521. ; *************************************************************************
  522.  
  523. (working "Icons kopieren...")
  524. (run (cat "IconCopy " (tackon #iconsource "AppMenuDial") " " (tackon #destname "AppMenuDial") " UPDATE"))
  525. (run (cat "IconCopy " (tackon #iconsource "Dial") " " (tackon #destname "Dial") " UPDATE"))
  526. (run (cat "IconCopy " (tackon #iconsource "Dial_Project") " " (tackon #destname "Dial_Project") " UPDATE"))
  527. (run (cat "IconCopy " (tackon #iconsource "DragonDaemon") " " (tackon #destname "DragonDaemon") " UPDATE"))
  528. (run (cat "IconCopy " (tackon #iconsource "ProviderPrefs") " " (tackon #destname "ProviderPrefs") " UPDATE"))
  529. (run (cat "IconCopy " (tackon #iconsource "ShowCounter") " " (tackon #destname "ShowCounter") " UPDATE"))
  530. (run (cat "IconCopy " (tackon #iconsource "Docs") " " (tackon #destname "Docs") " UPDATE"))
  531.  
  532. (if (exists "SYS:WBStartup/AppMenuDial")
  533.   (
  534.     (run (cat "IconCopy " (tackon #iconsource "AppMenuDial") " " ("SYS:Wbstartup/AppMenuDial") " UPDATE"))
  535.   )
  536. )
  537.  
  538. (complete 85)
  539.  
  540. ; *************************************************************************
  541. ; Suchpfad in User-Startup einbinden
  542. ; *************************************************************************
  543.  
  544. (if (askbool (prompt #askuserstartup) (help "") (default 0) (choices "Ja" "Nein"))
  545.   (
  546.     (set cmd (cat "Path "#destname" add"))
  547.     (startup "DragonDaemon-Tools" 
  548.              (prompt (cat "Zeile '" cmd "'in User-Startup einfügen"))
  549.              (command cmd)
  550.              (help "")
  551.     )
  552.   )
  553. )
  554.  
  555. (complete 90)
  556.  
  557. ; *************************************************************************
  558. ; ENV-Variablen setzen (default dialport)
  559. ; *************************************************************************
  560.  
  561. (if (askbool (prompt #askenv) (help #helpenv) (default 0) (choices "Ja" "Nein"))
  562.   (
  563.     (set result
  564.              (askchoice (prompt "Bevorzugten Port auswählen")
  565.                         (help "")
  566.                         (default 0)
  567.                         (choices "1" "2" "3")
  568.              )
  569.     )
  570.     (set defdialport (+ result 1))
  571.     (textfile  (prompt "ENV-Variable in ENV anlegen")
  572.                (help "")
  573.                (dest "ENV:DEFDIALPORT")
  574.                (append defdialport)
  575.     )
  576.     (textfile  (prompt "ENV-Variable in ENVARC anlegen")
  577.                (help "")
  578.                (dest "ENVARC:DEFDIALPORT")
  579.                (append defdialport)
  580.     )
  581.   )
  582. )
  583.  
  584. (complete 95)
  585.  
  586. ; *************************************************************************
  587. ; Falls vorhanden, einen LiesMich-Text anzeigen
  588. ; *************************************************************************
  589.  
  590. (if (exists #liesmichtext)
  591.   (run (cat "sys:utilities/Multiview " #liesmichtext))
  592. )
  593.  
  594. ; *************************************************************************
  595. ; Aktuelles Verzeichnis setzen
  596. ; *************************************************************************
  597.  
  598. (if (exists (tackon #destname "DragonDaemon"))
  599.   (
  600.     (set @default-dest #destname)
  601.   )
  602.   (
  603.     (message #nodaemon)
  604.     (set @default-dest "")
  605.   )
  606. )
  607. (complete 100)
  608.  
  609. ; *************************************************************************
  610. ; Ende der Installation
  611. ; *************************************************************************
  612.  
  613.